The invention relates to a method for operating a multiprocessor data processing system for therein establishing a global binary assertion. Multiprocessor systems have become widespread. Generally, they exist in two categories. The first do what is called SIMD(=single instruction multiple data), wherein all processors execute roughly the same operations on respective different data. Often these systems are so-called array processors. The second category is much less structured, and here various processors operate mostly independently, while interacting from time to time. Such interactions occur then on the level of the single or plural processes assigned to each respective processor, while the interactions may change the value of one or more local status variables. It has been found necessary to establish global assertions about such local status variables; such a global assertion should then take into account forseeable future changes of the local variables to be made by processes other than the one the variable(s) were privy to. Such changes could be the result of a chain reaction. An example would be the assertion whether or not the respective processes in the various processors are ready with a particular program: even if they were not busy at a particular instant, a request from another process could bring such processes back to activity (while the reactivated process could produce further reactivating requests to still other processes). Such an assertion may be used for synchronization.
A still more complicated case occurs when the global assertion is to be made on sets of local variables at one particular instant with respect to their having attained a stable collective state, each set being privy to its associated processor. A prime example of the latter problem is "garbage collection" is distributed memory (each processor has its own, non-shared, local memory), which example hereinafter is considered in detail.